Como Configurar un Virtual Host en WampServer
Por Anthuan Vsquez Publicado en How-To septiembre 9, 2012

Aqu voy a explicar como configurar un virtual host en Wampserver usando Windows para trabajar con varios dominios en localhost. Porque sent la necesidad de darle una URL especifica a cada proyecto en el que est trabajando, si este es tu caso estas en el lugar correcto.

Comencemos como dije estaremos usando lo siguiente:

    Windows
    Apache (usando WampServer)

Los proyectos que vamos a configurar son:

    Proyecto1.com
    Proyecto2.com

La ruta que viene por defecto para trabajar con documentos web en WampServer es c:\Wamp\wwww\, esto se puede configurar a cualquier otra ruta, ese es el menor de los problemas.

Lo que pasa con esto es que si se tiene varios proyectos en los cuales se est trabajando de forma simultanea, las URL seran http://localhost/proyecto1?, http://localhost/proyecto2?, los cuales apuntan a la ruta c:\Wamp\wwww\ siendo este c:\Wamp\wwww\proyecto1?, c:\Wamp\wwww\proyecto2?. Pero que pasa si se quiere que cada carpeta de nuestro proyecto tenga su propia URL definida tal como un dominio que solo usemos de manera local para facilitarnos el trabajo y acortar un poco la URL.
Configurando Apache

En Apache existe lo que se llama VirtualHost, esto nos permite definir maquinas virtuales a las que podemos definirle una ruta, la cual apuntar a las rutas de los proyectos.

Primero quita el comentario # en el archivo httpd.conf, que se encuentra en la ruta C:\Wamp\bin\apache\apache2.2.22\conf.

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Ahora definimos las maquinas virtuales en httpd-vhosts.conf, que se encuentra en C:\Wamp\bin\apache\apache2.2.22\conf\extra. En mi caso dejo el archivo completo.

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

# localhost - para definir el localhost
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:\wamp\www"
ServerName localhost
</VirtualHost>

# miproyecto1.com - definimos el dominio con el que trabajaremos nuestro proyecto 1
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:\wamp\www\proyecto1"
ServerName miproyecto1.com
</VirtualHost>

# miproyecto2.com - definimos el dominio con el que trabajaremos nuestro proyecto 2
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:\wamp\www\proyecto2"
ServerName miproyecto2.com
</VirtualHost>

Agregar las Mquinas al hosts

Edita el archivo hosts que se encuentra en C:\WINDOWS\system32\drivers\etc\ y agrega estas lineas.

127.0.0.1 localhost
127.0.0.1 proyecto1.com
127.0.0.1 proyecto2.com

Accediendo desde otra PC

Asumiendo que Wampserver est instalado en la PC1, la cual tiene una IP fija configurada 192.168.1.10 y se quiere acceder desde la PC2 y PC3.

Para ello se tienen que editar unas lineas en el archivo httpd.conf que se encuentra en C:\Wamp\bin\apache\apache2.2.22\conf, como las que se muestran debajo:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Solo comenta con # la ltima linea.

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    #Deny from all
</Directory>

Ahora en PC2 y PC3, edita el archivo hosts de windows en cada una y agrega estas lineas recordando que la IP fija de PC1 donde est instalado Wampserver es 192.168.1.10

192.168.1.10 proyecto1.com
192.168.1.10 proyecto2.com

Esto redirecciona proyecto1.com y proyecto2.com a las maquinas virtuales que ya se han creado en apache.

Ahora reinicia todos los servicios con Wampserver, y comienza a trabajar cmodamente en localhost.
Posibles Problemas

La IP donde est instalado Wampserver debe ser fija, no asignada por DHCP, las IP de los servidores deben ser estticas no dinmicas.

Desactiva el Firewall o permite el acceso a la PC2 y PC3, los firewalls bloquean el trafico que viene desde fuera ocasionando que no se pueda acceder al dominio local.

Si usas wordpress y no te funcionan los permalinks aqu explico como hacerlo en localhost.